const Mock = require('mockjs')

// 新建一个空列表
const List = []
// 列表长度
const count = 300
// 循环300次，每次向List加入一条数据，每次的数据都是随机产生
for (let i = 0; i < count; i++) {
  List.push(Mock.mock({
    id: '@id',
    num: Mock.Random.string('number', 8),
    name: Mock.mock('@name'),
    price: '￥18302',
    'pay|1': ['支付宝', '微信', '支付宝'],
    submit_time: '@datetime',
    source: 'App订单',
    'status|1': ['已关闭', '待发货', '已完成', '已发货']
  }))
}

module.exports = [
  {
    url: '/vue-admin-template/student/list',
    type: 'get',
    // 用户发送:
    response: config => {
      // 从请求中解析参数:page = 2,limit=20,总共300条数据
      const { page = 1, limit = 20, name, status } = config.query

      const mockList = List.filter((item) => {
        if (item && item.name.indexOf(name) < 0) return false
        if (status && item.status !== status) return false
        return true
      })
      // 第二页的应该包含那些数据(下标)?
      // 第一页是:0-19,第二页数据的下标应该是从:20-39
      const pageList = mockList.filter((item, index) => index < limit * page && index >= limit * (page - 1))
      return {
        code: 20000,
        data: {
          total: mockList.length,
          items: pageList
        }
      }
    }
  },
  {
    url: '/vue-admin-template/student/update',
    type: 'post',
    response: _ => {
      return {
        code: 2000,
        data: 'success'
      }
    }
  },
  {
    url: '/vue-admin-template/student/create',
    type: 'post',
    response: _ => {
      return {
        code: 2000,
        data: 'success'
      }
    }
  }
]
